<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>综合联系1</title>
    <script src="https://unpkg.com/vue@3"></script>
</head>
<body>
    <div id="app">
        <!-- 1.先进行布局，放置一个复选框，一个下拉列表框，两个文本框，一个展示结果的div
             2.把每个表单元素的对应数据展示出来，用于过程性检测，后期删除
             3.把下拉框和展示结果的div进行隐藏和显示的操作
             4.获取文本框中的数据，根据是否是会员以及登记来决定折扣比例，进行计算
               可以使用计算属性，侦听器等来实现-->
        <input type="checkbox" v-model="checkbox">
        <label>是否会员</label>
        <select v-if="checkbox " v-model="type">
            <option value="zs">钻石会员</option>
            <option value="hj">黄金会员</option>
            <option value="by">白银会员</option>
        </select>
        <p v-if="checkbox && type">
            {{type == 'zs' ? '钻石' :
              type == 'hj' ? '黄金' :
              '白银'}}欢迎你！
        </p><br>
        数量：<input type="text" v-model.number="num1" @keyup.enter="Enter"><br>
        单价：<input type="text" v-model.number="num2" @keyup.enter="Enter"><br>
        <p v-if="checkbox && type && num1!==null && num2!== null && showResult">
            尊敬的
            {{type == 'zs' ? '钻石' :
              type == 'hj' ? '黄金' :
              '白银'}}，你购买的数量是{{num1}},单价是{{num2}},折扣是{{countText}}，
              总价是{{num1*num2*countText}}
        </p>
    </div>
</body>
</html>
<script>
    const connApp = Vue.createApp({
        data() {
            return {
                checkbox:false,
                type:'by',
                num1:'',
                num2:'',
                showResult:false,
                countMap:{
                    zs:0.8,
                    hj:0.9,
                    by:0.95
                }
            }
        },
        methods: {
            Enter(){
                if(this.num1 !== null && this.num2 !== null){
                    this.showResult=true;
                }
            }
        },
        computed:{
            countText(){
                return this.countMap[this.type];
            },
            totalPrice() {
                return (this.num1 * this.num2 * this.countText).toFixed(2);
            }
        }
    }).mount("#app")
</script>